Skip to content
This repository has been archived by the owner on Oct 24, 2023. It is now read-only.

Add post about a stable version of JSON Schema #23

Merged
merged 1 commit into from
Oct 21, 2022
Merged

Add post about a stable version of JSON Schema #23

merged 1 commit into from
Oct 21, 2022

Conversation

jdesrosiers
Copy link
Member

This post is to give people context about why IETF isn't working for us and the direction we're headed in the future. The intention is to address the apprehension and uncertainty that people have been expressing about the announcement that we are leaving IETF, but also serves as a teaser to get people excited about what's coming next.

Copy link

@handrews handrews left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm excited to see a post like this go out soon! However, a number of things come to mind for me when I read this.

  1. Don't bother explaining about the IETF and the history of the "draft" label. You already justified that in the ADR, and you did a good job. Bringing it up here again will only cause the people who think the IETF can be made to work for us to talk about that more. We don't need more people talking about us and the IETF (or W3C, etc.). At most, this could include a link to the ADR for those who might have missed it.
  2. You reference JavaScript a lot, but not everyone is a JavaScript programmer, many JavaScript programmers don't know the change process for the language, and many who are not do have good feelings about JavaScript as a language or as an ecosystem. TBH, if I had not had to read the TC39 process recently, references to JavaScript would be more concerning than reassuring. If you discuss what things about JavaScript and the TC39 process are beneficial, and how they translate to JSON Schema, that will be much more reassuring. I noticed from several post-ADR discussions that the idea of a programming language being a reasonable source of JSON Schema process was not widely understood and was viewed skeptically.
  3. People will want to know how to propose new keywords. While we do not yet have the details from a formal SDLC, we know the basics: Implement ideas as vocabulary keywords, and we (JSON Schema) will define criteria for consideration of keywords that have seen some success and have a broad enough audience to warrant spec inclusion. You don't have to say that STAGE-1 requires two successful implementations, as that's too detailed. The number might change, the name of STAGE-1 might change. But the point is that we are shifting from "file an issue and maybe we'll do something about it" to "implement it and show us that it works."

pages/posts/stability.md Outdated Show resolved Hide resolved
pages/posts/stability.md Outdated Show resolved Hide resolved
pages/posts/stability.md Outdated Show resolved Hide resolved
Copy link
Member

@gregsdennis gregsdennis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like this. It's a great follow-up to the tweet from a few weeks ago.

pages/posts/stability.md Outdated Show resolved Hide resolved
pages/posts/stability.md Outdated Show resolved Hide resolved
pages/posts/stability.md Outdated Show resolved Hide resolved
pages/posts/stability.md Outdated Show resolved Hide resolved
@jdesrosiers
Copy link
Member Author

@handrews, we seem to have different ideas about the audience and scope of the post. I think the problem with sharing the ADR was that the general public isn't the audience of an ADR, we are. This post is intended to be the public facing version of the decision to decouple from IETF. It covers that same topic, but it's aimed at typical users of JSON Schema who just want to know what these changes mean to them, not people who read ADRs.

However, I completely understand your concerns about potentially reopening a tangent discussion that we don't necessarily want to reopen. My expectation is that since this post provides the big picture context that is missing from the ADR, we should end up with less focus on IETF and more attention on the direction decoupling from IETF enables for the future of JSON Schema.

Since this post is really about the vision for the future of JSON Schema, I want to stick to vision and avoid going into details about mechanisms, so I think that talking about how new keywords will be proposed is out of scope. I expect that kind of thing to be covered in a future post.

I'll do what I can to work in your feedback, but given our different ideas about the audience and scope of the post, how much I'm able to incorporate will probably be limited.

@handrews
Copy link

@jdesrosiers I did not intend to imply that you need to explain the whole keyword process (although I realized while at the grocery store just now that I basically had said that and pulled this up to clarify, I'm sorry I was not able to catch that in time even though what I published earlier was the 2nd version of feedback I wrote up).

@handrews
Copy link

I'll do what I can to work in your feedback, but given our different ideas about the audience and scope of the post, how much I'm able to incorporate will probably be limited.

The only thing I insist on is that the role of vocabularies and custom dialects not be minimized or described in a way that relegates it to a second-class feature.

@jdesrosiers
Copy link
Member Author

The only thing I insist on is that the role of vocabularies and custom dialects not be minimized or described in a way that relegates it to a second-class feature.

Absolutely. My intention was to reassure users that use custom dialects and vocabularies that these features weren't going away, but warn that they're still evolving. You seem to have gotten the opposite message. I'll do my best to reword to make it harder to misunderstand.

@handrews
Copy link

Absolutely. My intention was to reassure users that use custom dialects and vocabularies that these features weren't going away, but warn that they're still evolving. You seem to have gotten the opposite message. I'll do my best to reword to make it harder to misunderstand.

Thanks, yes, what you wrote landed very differently with me. I have noticed this pattern- while I do understand that you're not trying to minimize vocabulary/dialect things, the way you tend to write about them feels that way. This is why I said I wanted to "discuss the messaging" (and then proceeded to overwhelm that point with details, unfortunately).

I think part of the issue here is the terminology, which has not entirely settled. When you talk about "unstable" features, that is a big red flag in my book. But when I ask you specifics about how you think about STAGE-2 in particular, what you say tends to be more reassuring. Perhaps this will make more sense to me as the SDLC is formalized, but right now I'm sure I'm not the only person who reads "unstable" this way.

It also really stands out when only one thing is singled out as "unstable."

For this particular post, is it really necessary to talk about the stability of the vocabulary mechanism? Most people don't even know what that is. You're not discussing the stability of any other specific part. Really all that is needed is to explain that the lack of $schema will have well-defined semantics and ("and" is better than "but" here) that custom dialects are also part of the process going forwards (without explaining how, just that they are).

(BTW, if you are going to keep the IETF stuff, you should really mention the IETF media type registration- I noticed people got considerably more comfortable and less likely to push when they heard about that).

@jdesrosiers
Copy link
Member Author

I pushed a new draft.

@handrews

I thought a lot about your feedback about the IETF discussion. It occurred to me that most of it wasn't really relevant, so I cut out a lot of it. I tried to focus on the parts that relate to the journey of how we ended up deciding to change our process. I hope you feel better about the new version.

I removed mention about TC39 because, you're right, people don't know what that is. I also tried to create separation between what people might think of JavaScript as a language and how JavaScript evolves highlighting that they successfully manage the kinds of challenges we are trying to manage.

I tried my best to address the "messaging" concerns you had. Let me know if I missed the mark.

@gregsdennis

Let me know if the wording changes about implementations makes sense. I'm not super happy with it, but I think it's a little less ambiguous.

@gregsdennis
Copy link
Member

I'm happy. 👍

Copy link

@handrews handrews left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you, this looks great. I appreciate the consideration you put into this update. I think this post will really help the project's positioning with the larger community.

pages/posts/stability.md Outdated Show resolved Hide resolved
pages/posts/stability.md Outdated Show resolved Hide resolved
Comment on lines 125 to 128
* Implementations only need to support the latest release. A library that
supports the 2025 release will automatically support the 2023 and 2024
releases. The older releases will no longer need to be maintained as distinct
versions.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm wondering, do we need to spell out that this is, from that point forward, not including all previous versions of JSON Schema?
It's implied when you mention 2023, but do we want to avoid people potentially missing that implication?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point. That could be easily misinterpreted.

Copy link
Member

@Relequestual Relequestual left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left a single comment, but otherwise it looks good to go.
I've run the build locally and it looks fine.

@jdesrosiers jdesrosiers merged commit 66c27b7 into json-schema-org:main Oct 21, 2022
@jdesrosiers jdesrosiers deleted the stablility-blog branch October 21, 2022 19:46
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants